package com.project.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 材料申请详情 VO（View Object）
 */
@Data
public class MaterialRequestVO {

    /**
     * 请求ID
     */
    private Integer requestId;

    /**
     * 申请人ID
     */
    private Integer applicantId;

    /**
     * 申请人姓名
     */
    private String applicantName;

    /**
     * 所属班组ID
     */
    private Integer teamId;

    /**
     * 材料ID
     */
    private Integer materialId;

    /**
     * 材料名称
     */
    private String materialName;

    /**
     * 材料编码
     */
    private String materialCode;

    /**
     * 规格型号
     */
    private String specification;

    /**
     * 单位
     */
    private String unit;

    /**
     * 申请数量（支持小数，如 50.5 吨）
     */
    private BigDecimal quantity;

    /**
     * 申请原因
     */
    private String reason;

    /**
     * 审批状态（0: 待审批, 1: 已通过, 2: 已拒绝）
     */
    private Integer status;

    /**
     * 状态名称（如“待审批”）
     */
    private String finalStatusName;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;
}